home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_12_02 / smith / baz.h < prev    next >
Text File  |  1993-12-29  |  2KB  |  52 lines

  1. /* BAZ.H
  2.  * Contributed to Public Domain 9/93
  3.  * by Thad Smith, Boulder Co.
  4.  */
  5.  
  6. /* External interfaces */
  7. typedef enum {          /* decoder return status:   */
  8.    DECR_OK,             /* normal return            */
  9.    DECR_NO_ENDMARK,     /* no end marker on data    */
  10.    DECR_INVALID_DATA,   /* invalid input data       */
  11.    DECR_CRC_ERR,        /* CRC error                */
  12.    DECR_END             /* decoding complete        */
  13. }  decode_stat;
  14.  
  15. /* Output function type */
  16. typedef int outf_t (const char *out, size_t len);
  17.  
  18. int 
  19. ebaz_init (           /* Initialize encoder       */
  20.    int p_width,         /* width of output lines    */
  21.    outf_t * p_outfunc); /* function taking output   */
  22.  
  23. int 
  24. ebaz_data (           /* Encode data block        */
  25.    const unsigned char *data, /* input data         */
  26.    size_t len);         /* length of data or 0=end  */
  27.  
  28. int 
  29. dbaz_init (           /* Initialize encoder       */
  30.    outf_t * p_outfunc); /* function taking output   */
  31.  
  32. decode_stat 
  33. dbaz_data (           /* Decode data block        */
  34.    const unsigned char *data, /* input data         */
  35.    size_t len);         /* length of data or 0=end  */
  36.  
  37. /** Return number of characters in internal buffer.
  38.  * This can be used after DECR_END status is returned
  39.  * to determine the number of unused characters given
  40.  * to the decoder. */
  41. size_t      dbaz_excess_chars (void);
  42.  
  43. void 
  44. encode_9_to_11 (        /* Basic block encoder      */
  45.    char out[11], const unsigned char in[9]);
  46. int             /* return: 0=OK, 1= invalid input */
  47. decode_11_to_9 (        /* Basic block decoder      */
  48.    unsigned char out[9], const char in[11]);
  49.  
  50. /* End of File */ 
  51.  
  52.